editablelabel: Properly clean up in dispose
authorMatthias Clasen <mclasen@redhat.com>
Fri, 23 Oct 2020 16:27:55 +0000 (12:27 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 23 Oct 2020 16:27:55 +0000 (12:27 -0400)
Unparenting the stack finalizes the entry and label,
but at least the label is available via the
gtk_editable_get_delegate API, and the a11y
implementation uses that at dispose time. So, clear
the pointers to prevent them from being dangling.

This was showing up as a segfault of the doc-shooter.

gtk/gtkeditablelabel.c

index 959d0428d82e6fe3551b0135dad9fb62edb0f2e2..103b1256495685ea511bfac15fbd2c28663c3e0a 100644 (file)
@@ -341,6 +341,9 @@ gtk_editable_label_dispose (GObject *object)
 
   g_clear_pointer (&self->stack, gtk_widget_unparent);
 
+  self->entry = NULL;
+  self->label = NULL;
+
   G_OBJECT_CLASS (gtk_editable_label_parent_class)->dispose (object);
 }